package modelo;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

public interface IVenta {
	void addProducto(Producto producto, int cantidad);
	double getTotal();
	double getTotalDescuentos();
	double getTotalSinDescuentos();
	boolean tieneDeUnTipoDeProducto(Producto producto, int cantidad);
	String getMedioDePago();
	boolean hasCategoria(String categoria, int cantidad);
	Calendar getFecha();
	boolean hasMarca(String marca);
	void aplicarDescuentoAProducto(Producto producto, int cantidad,
			double descuento, String detalleOferta);
	void aplicarDescuentoPorCategoria(String categoria, List<Producto> excepciones, double descuento, String detalleOferta);
	void aplicarDescuentoPorMarca(String marca, ArrayList<Producto> excepciones, double descuento, String detalleOferta);
	void aplicarDescuentoAlTotal(double descuento, String detalleOferta);
	void aplicarOfertaAProducto(Producto producto, int cantidad);
	void addOferta(String detalle, int cantidad, double montoUnitario);
	LineItem getUltimoLineItem();
	void cobrar(String formaDePago);
	int getCajaNro();
	
}
